python的turtle模块画折线图

代码如下:

import turtle
yValues = [10.0,7.4,6.4,5.3,4.4,3.7,2.6]
def main():
    t = turtle.Turtle()
    t.hideturtle()
    drawLine(t,0,0,300,0) #画x轴
    drawLine(t,0,0,0,175) #画y轴
    #画折线
    for i in range(6):
        drawLineWithDots(t,40 + (40 * i),15 * yValues[i],40 + (40 * (i+1)),15 * (yValues[i+1]),"blue")
    drawTickMarks(t)
    #给图上x y 轴上的间距点表上值
    displayText(t)
def drawLine(t,x1,y1,x2,y2,colorP="black"):
    t.up()
    t.goto(x1,y1)
    t.down()
    t.pencolor(colorP)
    t.goto(x2,y2)
def drawLineWithDots(t,x1,y1,x2,y2,colorP="black"):
    t.pencolor(colorP)
    t.up()
    t.goto(x1,y1)
    t.dot(5)
    t.down()
    t.goto(x2,y2)
    t.dot(5)
def drawTickMarks(t):
    for i in range(1,8):
        drawLine(t,40*i,0,40*i,10) #画x轴上的间距点
    drawLine(t,0,15 * max(yValues), 10, 15*max(yValues)) #画出y轴最上面的那一个点
    drawLine(t,0,15 * min(yValues), 10, 15*min(yValues)) #画出y轴最下面的那一个点
def displayText(t):
    t.pencolor("blue")
    t.up()
    #在对应的位置标出10.0
    t.goto(-10,(15*max(yValues))-8)
    t.write(max(yValues),align="center")
    #再对应的位置标出2.6
    t.goto(-10,(15*min(yValues))-8)
    t.write(min(yValues),align="center")
    #标出x轴上对应的点
    x = 40
    for i in range(2000,2013,2):
        t.goto(x,-20)
        t.write(str(i),align="center")
        x += 40
    #在这张折线图下方给点说明
    t.goto(0,-50)
    t.write("大学生吸烟率情况分析图",font=("Arial",16,"normal"))
main()

效果图如下:

时间: 2024-10-10 17:16:00

python的turtle模块画折线图的相关文章

使用Python的turtle模块画出简单的柱状图

代码如下: import turtle heights = [856, 420,360,260,205] def main(): t = turtle.Turtle() t.hideturtle() for i in range(5): drawFilledRectangle(t,-200+(76*i),0,76,heights[i]/4,"black","light blue") displayText(t) def drawFilledRectangle(t,x

python中matplotlib画折线图实例(坐标轴数字、字符串混搭及标题中文显示)

最近在用python中的matplotlib画折线图,遇到了坐标轴 "数字+刻度" 混合显示.标题中文显示.批量处理等诸多问题.通过学习解决了,来记录下.如有错误或不足之处,望请指正. 一.最简单的基本框架如下:已知x,y,画出折线图并保存.此时x和y均为数字. 1 # -*- coding: utf-8 -*- 2 3 import matplotlib.pyplot as plt #引入matplotlib的pyplot子库,用于画简单的2D图 4 import random 5

用Python的Turtle模块绘制五星红旗

Edit 用Python的Turtle模块绘制五星红旗 在Udacity上课时学到了python的turtle方法,这是一个很经典的用来教小孩儿编程的图形模块,最早起源于logo语言.python本身内置了这个模块,其可视化的方法可以帮助小孩儿对编程的一些基本理念有所理解. 在作业提交的论坛里看到很多turtle画出来的精美图形,想不出什么要画的东西,于是决定拿五星红旗来练练手. 前期准备 五星红旗绘制参数 Turtle官方文档 turtle的基本操作 # 初始化屏幕 window = turt

Matplotlib学习---用matplotlib画折线图(line chart)

这里利用Jake Vanderplas所著的<Python数据科学手册>一书中的数据,学习画图. 数据地址:https://raw.githubusercontent.com/jakevdp/data-CDCbirths/master/births.csv 准备工作:先导入matplotlib和pandas,用pandas读取csv文件,然后创建一个图像和一个坐标轴 import pandas as pd from matplotlib import pyplot as plt birth=p

IOS使用Core-Plot画折线图

关于Core-Plot的配置,大家可以参考我的上一篇博客:http://1.wildcat.sinaapp.com/?p=99 版权所有,转载请注明原文转自:http://blog.csdn.net/wildcatlele/article/details/25483923 大家可以到:http://1.wildcat.sinaapp.com/?p=102观看本篇博客更友好的排版格式 或者你英语好也可以参考github上的wiki介绍:https://code.google.com/p/core-

Cocos2d3.0 画折线图

实现用2dx画折线图,为以后用2dx开发应用做准备 下面记录下使用方法 auto lineView = DJLineChart::create(); std::vector<float> vec; vec.push_back(130); vec.push_back(520); vec.push_back(60); vec.push_back(0); vec.push_back(140); vec.push_back(100); vec.push_back(30); vec.push_back(

Java画折线图

??? JFreeChart 是开放源代码站点SourceForge.net 上的一个 JAVA 项目,它主要用来各种各样的图表,这些图表包括:饼图.柱状图 ( 普通柱状图以及堆栈柱状图 ).线图.区域图.分布图.混合图.甘特图以及一些仪表盘等等. ??? 应用jfreechart来画图需要两个jar包:jfreechart.jar和jcommon.jar,直接去官网下载就成: https://sourceforge.net/projects/jfreechart/files/ ?? 下载完成后

unity 画折线图,饼型图插件

在unity中画折线图,和饼型图等数据分析图是很困难 的一件事,幸好我找到了一个插件很方便的解决了这件事,效果如下图: 折线图,饼型图,等. 运行效果如下: 百度网盘下载地址:链接:https://pan.baidu.com/s/10oLG1Zmffv7ASWG0pvx05w 提取码:lub1 如果链接失效,请留言. 原文地址:https://blog.51cto.com/14058389/2425723

Android画折线图、柱状图、饼图(使用achartengine.jar)

自从用了画折线的jar包之后,就不想再用canvas画布去画了,编程就是要站在巨人的肩膀上. 所需要的jar包achartenginejar 折线代码布局文件就不上传了很简单 另一种线的渲染器 扇形图代码 柱状图代码 属性总结部分代码 新测试代码下载地址 所需要的jar包:achartengine.jar 下载地址:http://download.csdn.net/detail/zhengyikuangge/9460642 折线代码(布局文件就不上传了,很简单): package com.exa