为了账号安全,请及时绑定邮箱和手机立即绑定

仅使用第一个图的刻度频率在单个图中混合来自熊猫数据框的线图和散点图

仅使用第一个图的刻度频率在单个图中混合来自熊猫数据框的线图和散点图

至尊宝的传说 2023-04-25 15:47:00
我想比较数据框中的数据,将一些数据绘制为线,将其他列绘制为散点图。我的实际数据是模型输出和观察的组合,我希望观察是散点,模型是线。观察值有很多 Nan 值(大多数时间步骤没有观察值)。这个 MWE 重复了我遇到的问题import numpy as npimport pandas as pdimport matplotlib.pyplot as pltbase = datetime.datetime.today()date_list = [base - datetime.timedelta(days=x) for x in range(40)]df = pd.DataFrame(data = {    "Time": date_list,    "Chocolate": np.random.rand(40),     "Strawberry": np.random.rand(40),     "Fake Chocolate": np.random.rand(40),     "Fake Strawberry": np.random.rand(40), })df.iloc[3,3] = np.nanax1 = df.plot(x = 'Time', y = ["Chocolate","Strawberry"])ax1 = df.plot(x = 'Time', y = ["Chocolate","Strawberry"])ax2 = df.plot.scatter(x = 'Time', y = ['Fake Chocolate'], marker = '^', ax = ax1)ax3 = df.plot.scatter(x = 'Time', y = ['Fake Strawberry'], marker = '*', ax = ax1, color = '#ff7f0e')我想要像第一个图中那样的 x 轴,所以采用线图的样式,你没有每个日期都试图在一个很小的空间中打印。我该怎么做呢?我正在使用ax1.set来设置 x 和 y 轴标签。如果我可以偷偷提出第二个问题,为什么可以使用散点图y = []而不是散点图来做多条线?
查看完整描述

1 回答

?
饮歌长啸

TA贡献1951条经验 获得超3个赞

只需添加plt.xticks(rotation=45)到脚本的末尾就可以了。


import numpy as np

import pandas as pd

import matplotlib.pyplot as plt

import datetime


base = datetime.datetime.today()

date_list = [base - datetime.timedelta(days=x) for x in range(40)]


df = pd.DataFrame(data = {

    "Time": date_list,

    "Chocolate": np.random.rand(40), 

    "Strawberry": np.random.rand(40), 

    "Fake Chocolate": np.random.rand(40), 

    "Fake Strawberry": np.random.rand(40), 

})

df.iloc[3,3] = np.nan


ax1 = df.plot(x = 'Time', y = ["Chocolate","Strawberry"])


ax1 = df.plot(x = 'Time', y = ["Chocolate","Strawberry"])

ax2 = df.plot.scatter(x = 'Time', y = ['Fake Chocolate'], marker = '^', ax = ax1)

ax3 = df.plot.scatter(x = 'Time', y = ['Fake Strawberry'], marker = '*', ax = ax1, color = '#ff7f0e')

plt.xticks(rotation=45);

//img1.sycdn.imooc.com//644785a10001911203680267.jpg

//img1.sycdn.imooc.com//644785ac00019bcf03830273.jpg

查看完整回答
反对 回复 2023-04-25
  • 1 回答
  • 0 关注
  • 81 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信