本文目录一览:
- python画图:,横坐标是点数(1到1000),纵坐标是大小不同的数值,即如何用颜色的深浅代表数值的大小?
- python_海龟绘图_坐标系问题_画笔各种方法-python工作笔记013
- python 绘制和密度图笔记
- 用Python画图
- 自学python需要做什么笔记
python画图:,横坐标是点数(1到1000),纵坐标是大小不同的数值,即如何用颜色的深浅代表数值的大小?
- 首先在python软件中,创建一个响应鼠标的自定义函数,当鼠标在画布上面点击一下,就画一个圆。
- 创建一个画布,背景是白色:
img=np.ones((365,500,3),np.uint8)*255
。 - 然后创建一个窗口:
cv2.namedWindow('image')
。当鼠标在这个窗口里面的时候,上面的自定义函数会响应鼠标。 - 开始一个while循环,每次在image窗口里面点击鼠标,就会画一个圆。
- 执行程序之后,在画布上随机的点击鼠标,就可以得到彩色的圆。
python_海龟绘图_坐标系问题_画笔各种方法-python工作笔记013
然后我们继续看,这次我们用海龟绘图程序包去画画,看看海龟绘图都有哪些方法:
import turtle
:导入海龟绘图模块。turtle.showturtle()
:显示一个箭头。turtle.write("hello world")
:显示对应文字。turtle.forward(300)
:向前走300像素。turtle.color("red")
:把画笔颜色换成红色。turtle.left(90)
:把箭头逆时针转90度。turtle.forward(300)
:向前移动300个像素。turtle.goto(0,50)
:走到0,50这个坐标点。- 再看一下坐标系,原点0,0开始操作。
turtle.goto(0,0)
:回到原点。turtle.penup()
:抬起画笔。turtle.goto(0,300)
,turtle.goto(0,0)
,然后再去turtle.pendown()
:放下画笔。turtle.goto(0,50)
,turtle.goto(50,50)
:走到对应的坐标。turtle.circle(100)
:以100为半径,逆时针画一个圆。
python 绘制和密度图笔记
import pandas as pd
import numpy as np
import seaborn as sns
import matplotlib.pyplot as plt
pd.set_option('display.max_columns', 10000)
pd.set_option('display.max_rows', 10000000000)
pd.set_option('display.width', 100000)
income = pd.read_excel(r'D:\bigData\0629demo\dataSource\income.xlsx')
fill_data = income.fillna(value={'workclass': income.workclass.mode()[0], 'occupation': income.occupation.mode()[0],
'native-country': income['native-country'].mode()[0]}, inplace=True)
print(income.describe())
print(income.describe(include=['object']))
# 设置绘图风格
plt.style.use('ggplot')
# 设置多图形组合
fig, axes = plt.subplots(2, 1)
# 绘制不同收入水平下的年龄核密度图
income['age'][income.income == ' =50K'].plot(kind='kde', ax=axes[0], label='=50K', legend=True, linestyle='-')
income['age'][income.income == ' 50K'].plot(kind='kde', ax=axes[0], label='50K', legend=True, linestyle='--')
# 绘制不同收入水平下的周工作小时数核密度图
income['hours-per-week'][income.income == ' =50K'].plot(kind='kde', label='= 50K', ax=axes[1], legend=True, linestyle='-')
income['hours-per-week'][income.income == ' 50K'].plot(kind='kde', label=' 50K', ax=axes[1], legend=True, linestyle='--')
plt.show()
# 构造不同收入水平下各种族人数的数据
race = pd.DataFrame(income.groupby(by=['race', 'income']).agg(np.size).loc[:, 'age'])
race = race.reset_index()
race.rename(columns={'age': 'counts'}, inplace=True)
race.sort_values(by=['race', 'counts'], ascending=False, inplace=True)
# 构造不同收入水平下各家庭关系人数的数据
relationship = pd.DataFrame(income.groupby(by=['relationship', 'income']).agg(np.size).loc[:, 'age'])
relationship = relationship.reset_index()
relationship.rename(columns={'age': 'counts'}, inplace=True)
relationship.sort_values(by=['relationship', 'counts'], ascending=False, inplace=True)
plt.figure(figsize=(15, 10))
sns.barplot(x='race', y='counts', hue='income', data=race)
plt.show()
plt.figure(figsize=(15, 10))
sns.barplot(x='relationship', y='counts', hue='income', data=relationship)
plt.show()
用Python画图
今天开始琢磨用Python画图,没使用之前是一脸懵的,我使用的开发环境是Pycharm,这个输出的是一行行命令,这个图画在哪里呢? 搜索之后发现,它会弹出一个对话框,然后就开始画了,比如下图: 第一个常用的库是Turtle,它是Python语言中一个很流行的绘制图像的函数库,这个词的意思就是乌龟,你可以想象下一个小乌龟在一个x和y轴的平面坐标系里,从原点开始根据指令控制,爬行出来就是绘制的图形了。 它最常用的指令就是旋转和移动,比如画个圆,就是绕着圆心移动;再比如上图这个怎么画呢,其实主要就两个命令:
turtle.forward(200)
turtle.left(170)
第一个命令是移动200个单位并画出来轨迹;第二个命令是画笔顺时针转170度,注意此时并没有移动,只是转角度。 然后呢?循环重复就画出来这个图了,好玩吧。 Turtle虽好玩,但是我想要的是我给定数据,然后让它画图,这里就找到另一个常用的画图的库了。 Matplotlib是Python最著名的绘图库,它提供了一整套和MATLAB相似的命令API,十分适合交互式地进行制图。其中,matplotlib的pyplot模块一般是最常用的,可以方便用户快速绘制二维图表。 使用起来也挺简单:
import matplotlib.pyplot as plt
:导入画图模块。- 给定x和y,用这个命令
plt.plot(x, y)
就能画图了,接着用plt.show()
就可以展示图形。 接着就是各种完善,比如加标题,设定x轴和y轴标签,范围,颜色,网格等等。 假设现在有个数据csv文件,一列是日期,另一列是比特币的价格,那用这个命令画下:
plt.plot(df['time'], df['ini'])
plt.show()
然后呢,我在上篇文章中介绍过求Ahr999指数,那可不可以也放到这张图中呢?不就是加一条命令嘛:
plt.plot(df['time'], df['Ahr999'])
但是,Ahr999指数怎么就一条线不动啊,原来两个Y轴不一致,显示出来太怪了,需要用多Y轴,问题来了。 继续谷歌一下,把第二个Y轴放右边就行了,不过得使用多图,重新绘制:
fig = plt.figure() # 多图
ax1 = fig.add_subplot(111)
ax1.plot(df['time'], df['ini'], label="BTC price")
ax1.set_ylabel('BTC price')
ax2 = ax1.twinx() # 在右边增加一个Y轴
ax2.plot(df['time'], df['Ahr999'], 'r', label="ahr999")
ax2.set_ylim([0, 50])
ax2.set_ylabel('ahr999')
plt.grid(color="k", linestyle=":")
fig.legend(loc="center")
plt.show()
跑起来看看效果,虽然丑了点,但终于跑通了。 这样就可以把所有指数都绘制到一张图中,等等,三个甚至多个Y轴怎么加?这又是一个问题,留给爱思考爱学习的你。 有了自己的数据,建立自己的各个指数,然后再放到图形界面中,同时针对异常情况再自动进行提醒,比如要抄底了,要卖出了,用程序做出自己的晴雨表。
自学python需要做什么笔记
Python的书很多,但是好书不多,经过我这么多年的Python学习,我总结出了一个Python学习的读书路线:
- Python简明教程:让你大体上了解一下Python,最好是能够独立完成最后一个练习项目之后再看别的书。
- Python学习手册、Python基础教程、Python核心编程:这三本书都是讲基础的,但都有不足又相互补充。我建议你随便挑一本开始看,当看到某个地方有些不明白的时候,去看看另外两本书里对应的章节,有的时候你会恍然大悟的。