Matplotlib在Python中对数据分组的条形图进行分组

时间:2020-10-12 18:25:06

标签: python pandas matplotlib

我有一个值字典(import React, {useState, useEffect} from react; const [carList, setCarList] = useState([]); // When the component did mount you will fetch for data and update your state useEffect(async ()=>{ const newCar = await AsyncStorage.getItem('car'); const car = JSON.parse(newCar); setCarList([...carList, car]); console.log(carList); },[]); )如下:

drug

它包含3种药物,然后在4种不同浓度下该药物的功效。

我正在尝试制作聚类的条形图,以将这3种药物相互比较,如下所示:

enter image description here

当前,我的代码如下:

{0: {0: 100.0, 1: 0.41249706379061035, 2: 5.144449764434768, 3: 31.078456871927678}, 1: {0: 100.0, 1: 0.6688801420346955, 2: 77.32360971119694, 3: 78.15132480853421}, 2: {0: 100.0, 1: 136.01949766418852, 2: 163.4967732211563, 3: 146.7726208999281}}

我改编了this指南中的代码,但是遇到了多个问题。

我认为主要原因是示例中使用的数据使得一组中的值对应于相同的颜色而不是相同的簇。

我如何修改此代码,以便与其他药物相比,可以分别绘制每种药物在4种不同浓度下的功效?

1 个答案:

答案 0 :(得分:1)

您要按列归一化值的IIUC,可以使用sklearn

from sklearn import preprocessing

df = pd.DataFrame(drug)
scaler = preprocessing.MinMaxScaler()
df = pd.DataFrame(scaler.fit_transform(df))
df.T.plot(kind="bar")
plt.show()

enter image description here