首页 > 解决方案 > matplotlib改变数据集的颜色

问题描述

import pandas as pd
import matplotlib.pyplot as plt

iris = pd.read_csv(r'C:\Users\MACHINE\Desktop\iris.csv', names=['sepal_length', 'sepal_width',         
'petal_length', 'petal_width', 'class'])

colors = {'Versicolor':'r', 'Setosa':'g', 'Virginica':'b'}
# create a figure and axis
fig, ax = plt.subplots()
# plot each data-point
for i in range(len(iris['sepal_length'])):
    ax.scatter(iris['sepal_length'][i], iris['sepal_width'][i], color= colors[iris['class'][i]])
# set a title and labels
ax.set_title('Iris Dataset')
ax.set_xlabel('sepal_length')
ax.set_ylabel('sepal_width')


ax.scatter(iris['sepal_length'][i], iris['sepal_width'][i], color= colors[iris['class'][i]])

KeyError: 'class' 我是 python 新手,很可能是语法错误。我还提供了我从 https://towardsdatascience.com/introduction-to-data-visualization-in-复制代码的网站链接python-89a54c97fbed

标签: pythonpandasmatplotlib

解决方案


for i in range(len(iris['sepal_length'])):
    ax.scatter(iris['sepal_length'][i], 
    iris['sepal_width'[i],color=colors.get(iris['class'][i]) )

改用 get 方法


推荐阅读