本文主要是介绍Python绘制高级图表(1):绘制条形统计图,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
一、初始化
1. 引入库,设置画笔
from turtle import *
t = Turtle()
t.color("black")
t.width(3)
2. 为了美观,画出xy轴
(1) 普通型
from turtle import *
t = Turtle()
t.color("black")
t.width(3)# 以画布为600 * 600为例
# 1. x轴
t.penup()
t.goto(-300, -300)
t.pendown()
# 1.1 画出直线
t.forward(600)
# 1.2 画出右半边箭头
t.right(150)
t.forward(20)
t.backward(20)
# 1.3 画出左半边箭头
t.left(300)
t.forward(20)
t.backward(20)
t.right(150)
# 1.4 退回xy轴交接点
t.backward(600)# 2. y轴
t.left(90)
# 2.1 画出直线
t.forward(600)
# 2.2 画出右半边箭头
t.right(150)
t.forward(20)
t.backward(20)
# 2.3 画出左半边箭头
t.left(300)
t.forward(20)
t.backward(20)
t.right(150)
# 2.4 退回xy轴交接点
t.backward(600)
(2) 标准型
from turtle import *
t = Turtle()
t.color("black")
t.width(3)# 以画布为600 * 600为例
# 1. x轴
t.penup()
t.goto(-350, -350)
t.pendown()
# 1.1 画出直线
t.forward(650)
# 1.2 画出右半边箭头
t.right(150)
t.forward(20)
t.backward(20)
# 1.3 画出左半边箭头
t.left(300)
t.forward(20)
t.backward(20)
t.right(150)
# 退回xy轴交接点
t.backward(600)# 2. y轴
t.left(90)
t.backward(50)
# 2.1 画出直线
t.forward(650)
# 2.2 画出右半边箭头
t.right(150)
t.forward(20)
t.backward(20)
# 2.3 画出左半边箭头
t.left(300)
t.forward(20)
t.backward(20)
t.right(150)
# 退回xy轴交接点
t.backward(600)
3. 准备数据
data = [10, 20, 30]
二、尝试绘制一个柱子
1. 初步尝试
# 我们可以将其写进一个函数里
def draw(num):t.color("skyblue")t.fillcolor("skyblue")t.begin_fill()for i in range(2):t.forward(50)t.left(90)t.forward(150)t.left(90)t.end_fill()# 调试函数
draw(data[0])
效果:
2. 所有数据的绘制
# 全代码展示
from turtle import *
t = Turtle()
t.color("black")
t.width(3)
t.speed(0)# 我们可以将其写进一个函数里
def draw(num):t.color("skyblue")t.fillcolor("skyblue")t.penup()t.forward(20)t.pendown()t.begin_fill()for i in range(2):t.forward(50)t.left(90)t.forward(num * 10)t.left(90)t.end_fill()t.setheading(0)t.penup()t.forward(50)t.pendown()# 以画布为600 * 600为例
# 1. x轴
t.penup()
t.goto(-350, -350)
t.pendown()
# 1.1 画出直线
t.forward(650)
# 1.2 画出右半边箭头
t.right(150)
t.forward(20)
t.backward(20)
# 1.3 画出左半边箭头
t.left(300)
t.forward(20)
t.backward(20)
t.right(150)
# 退回xy轴交接点
t.backward(600)# 2. y轴
t.left(90)
t.backward(50)
# 2.1 画出直线
t.forward(650)
# 2.2 画出右半边箭头
t.right(150)
t.forward(20)
t.backward(20)
# 2.3 画出左半边箭头
t.left(300)
t.forward(20)
t.backward(20)
t.right(150)
# 退回xy轴交接点
t.backward(600)data = [10, 20, 30, 40, 50, 60]
t.setheading(0)
# 调试函数
for i in data:draw(i)
三、最终代码
from turtle import *
t = Turtle()
t.color("black")
t.width(3)
t.speed(0)# 我们可以将其写进一个函数里
def draw(num):t.color("skyblue")t.fillcolor("skyblue")t.penup()t.forward(20)t.pendown()t.begin_fill()for i in range(2):t.forward(50)t.left(90)t.forward(num * 10)t.left(90)t.end_fill()t.setheading(0)t.penup()t.forward(50)t.pendown()# 以画布为600 * 600为例
# 1. x轴
t.penup()
t.goto(-350, -350)
t.pendown()
# 1.1 画出直线
t.forward(650)
# 1.2 画出右半边箭头
t.right(150)
t.forward(20)
t.backward(20)
# 1.3 画出左半边箭头
t.left(300)
t.forward(20)
t.backward(20)
t.right(150)
# 退回xy轴交接点
t.backward(600)# 2. y轴
t.left(90)
t.backward(50)
# 2.1 画出直线
t.forward(650)
# 2.2 画出右半边箭头
t.right(150)
t.forward(20)
t.backward(20)
# 2.3 画出左半边箭头
t.left(300)
t.forward(20)
t.backward(20)
t.right(150)
# 退回xy轴交接点
t.backward(600)data = [10, 20, 30, 40, 50, 60]
t.setheading(0)
# 调试函数
for i in data:draw(i)
效果:
这篇关于Python绘制高级图表(1):绘制条形统计图的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!