python - 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
解决方案
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 方法
推荐阅读
- react-native - 如何在 React Native 中使用 Vdocipher?
- java - 如何通过 Spring Boot 在 ElasticSearch multiMatchQuery 中使用分页
- windows - 我如何按用户对 windows evenlog 进行分组?
- javascript - 编译应用程序后实际上可以编辑 Bootstrap scss 变量吗?
- emacs - 降价模式下的表格未在 html 中生成正确的代码
- azure-functions - 带有来自逻辑应用程序的参数的天蓝色函数
- rust - 如何使用 Serde 序列化具有顶级键的结构?
- sql - SQL 函数问题 - 带数据列的 MOD 函数不起作用
- reactjs - 登录到其他组件后响应发送状态以更改 html
- amazon-web-services - Cloudfront CDN 性能,与现有 CDN 不匹配