python - 多个 csv 文件绘制在同一轴上,颜色不同

标签 python pandas matplotlib

考虑以下 csv 文件

import pandas as pd
from io import StringIO
from matplotlib import pylab as plt

csv1 = """x,y
0,1
1,0"""

csv2 = """x,y
0,0
1,1"""

csv3 = """x,y
.5,1
.5,0"""

csv4 = """x,y
0,.5
1,.5"""

我可以将它们全部绘制在不同的轴上

fig, axes = plt.subplots(2, 2, sharex=True, sharey=True)
for i, csv in enumerate([csv1, csv2, csv3, csv4]):
    r, c = i // 2, i % 2
    pd.read_csv(StringIO(csv)).plot.scatter('x', 'y', ax=axes[r, c])

fig.tight_layout()

enter image description here

但是如何在同一轴上绘制不同颜色的图形呢?

最佳答案

一个。使用 matplotlib

matplotlib 自动使用不同的颜色

fig, axes = plt.subplots()
for i, csv in enumerate([csv1, csv2, csv3, csv4]):
    df = pd.read_csv(StringIO(csv))
    axes.scatter(df.x, df.y)

fig.tight_layout()
plt.show()

enter image description here

b。使用 Pandas

需要定义要使用的颜色列表。

colors = ["blue", "orange", "green", "red"]
fig, axes = plt.subplots()
for i, csv in enumerate([csv1, csv2, csv3, csv4]):
    df = pd.read_csv(StringIO(csv)).plot.scatter('x', 'y', ax=axes, color=colors[i])

fig.tight_layout()
plt.show()

enter image description here

关于python - 多个 csv 文件绘制在同一轴上,颜色不同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42805358/

相关文章:

python - 如何在本地使用 gcloud Python API

python - 根据Python中的其他列生成自定义ID

python - 如何使用 Pandas 在 csv 文件中创建新列,并根据这些列中的值添加数据

python - 合并 csv 文件列和名称列

python - 如何在matplotlib标签中调整括号大小并部分设置标签的字体和大小?

python - seaborn可以画断 Axis 图吗?

python - 如何使用Python和socket发送和接收?

python - 在 PyCharm 中更改默认的 Python/Flask 控制台

python - 尝试比较 Python pandas dataframe 中的日期时出现错误

python - 如何在 Matplotlib 的绘图内绘制轴线?