python - Matplotlib - 从 DataFrame 绘制不均匀的步骤
问题描述
我DataFrame
在列中组织了 x 轴数据。但是,对于不存在的,列被省略了,所以步骤是不均匀的。例如:
0.1 0.2 0.5 ...
0 1 4 7 ...
1 2 5 8 ...
2 3 6 9 ...
我想用 x 轴绘制每一个,np.arange(0, max(df.columns), step=0.1)
并结合这些图。有没有简单的方法来实现这一点matplotlib.pyplot
?
plt.plot(np.arange(0, max(df.columns), step=0.1), new_data)
任何帮助,将不胜感激。
解决方案
如果我理解正确,您的最终数据框应该如下所示:
0.0 0.1 0.2 0.3 0.4 0.5
0 0.0 1 4 0.0 0.0 7
1 0.0 2 5 0.0 0.0 8
2 0.0 3 6 0.0 0.0 9
可以像这样生成(然后也绘制):
import numpy as np
import matplotlib.pyplot as plt
import pandas as pd
df = pd.DataFrame({0.1:[1,2,3],0.2:[4,5,6],0.5:[7,8,9]})
## make sure to actually include the maximum value (add one step)
# or alternatively rather use np.linspace() with appropriate number of points
xs = np.arange(0, max(df.columns) +0.1, step=0.1)
df = df.reindex(columns=xs, fill_value=0.0)
plt.plot(df.T)
plt.show()
产生:
推荐阅读
- python - Python - 如果字符串与字符串不匹配,则仅打印一次
- python - `__contains__` 是否有可能返回非布尔值?
- javascript - django后端ajax成功后如何渲染html页面
- javascript - 如何更改 javascript 上的对象以在基本 url 上回显此“对象”
- mysql - 如何在过程中 CONCAT 更新查询
- python - 如何在不为键定义特定值的情况下重复使用变量在 python 中编辑 YAML 文件?
- amazon-web-services - 从 AWS 实例导出 CloudFormation 堆栈并导入另一个实例
- excel - VBA Mac 2016 激活不再起作用
- xml - 使用 XSL 将 TEI-XML 字典转换为简单的 HTML 表
- deep-learning - 如何将图像数据制作成二维分布图?