我有一個如下所示的資料集。
| 噸/噸 | 價值 | 類別 |
|---|---|---|
| 噸 | 1 | 一種 |
| F | 3 | 乙 |
| 噸 | 5 | C |
| F | 7 | 一種 |
| 噸 | 8 | 乙 |
| ... | ... | ... |
所以,我想畫一個如下所示的條形圖。相同的類別有相同的位置
相同的類別具有相同的位置,零居中的條和 F 的數量是水平線下方的條,T 是上條。

如何使用 matplotlib.pyplot 制作此圖表?或其他圖書館
我需要例子。
uj5u.com熱心網友回復:
一種方法是將這些False值設為負值,然后創建barplot具有T/Fas 色調的 Seaborn 。如果您無法更改原始資料,您可能需要制作一份資料副本。
import matplotlib.pyplot as plt
import seaborn as sns
import pandas as pd
import numpy as np
data = pd.DataFrame({'T/F': ['T', 'F', 'T', 'F', 'T'],
'Value': [1, 3, 5, 7, 8],
'category': ['A', 'B', 'C', 'A', 'B']})
data['Value'] = np.where(data['T/F'] == 'T', data['Value'], -data['Value'])
ax = sns.barplot(data=data, x='category', y='Value', hue='T/F', dodge=False, palette='turbo')
ax.axhline(0, lw=2, color='black')
plt.tight_layout()
plt.show()

轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/342635.html
標籤:matplotlib
