gpt4 book ai didi

python - 用垂直线绘制 pandas 数据框

转载 作者:太空宇宙 更新时间:2023-11-03 18:19:19 28 4
gpt4 key购买 nike

我想绘制一个数据框,其中每个数据点不表示为一个点,而是表示为从零轴开始的垂直线,如下所示:

df['A'].plot(style='xxx')

其中 xxx 是我需要的样式。

此外,理想情况下,我希望能够根据数据框中另一列中的值为每个条形着色。

我精确地说,我的 x 轴值是数字,并且间隔不均匀。

最佳答案

pandas 绘图工具是 matplotlib 的方便包装。据我所知,没有办法直接通过 pandas 获得您想要的功能。

只需几行 matplotlib 就可以得到它。大部分代码是做颜色映射的:

import pandas as pd
import matplotlib.pyplot as plt
import numpy as np
import matplotlib.colors as colors
import matplotlib.cm as cmx

#make the dataframe
a = np.random.rand(100)
b = np.random.ranf(100)
df = pd.DataFrame({'a': a, 'b': b})

# do the colour mapping
c_norm = colors.Normalize(vmin=min(df.b), vmax=max(df.b))
scalar_map = cmx.ScalarMappable(norm=c_norm, cmap=plt.get_cmap('jet'))
color_vals = [scalar_map.to_rgba(val) for val in df.b]

# make the plot
plt.vlines(df.index, np.zeros_like(df.a), df.a, colors=color_vals)

我已使用 DataFrame 索引作为 x 轴值,但您没有理由不能使用不规则间隔的 x 值。

关于python - 用垂直线绘制 pandas 数据框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24424465/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com