本文笔者在学习过程中尝试用Canvas画折线图,有许多不足,不如用matplotlib来画,以下是完整代码。
import tkinter as tk
import math
Font_SIZE_D = 14
Font_SIZE_L = 14
CANVAS_WIDTH = 500
CANVAS_HEIGHT = 500
DOWN_UNIT = '年份'
LEFT_UNIT = '数量'
# 坐标值
down_v = ['2001', '2002', '2003', '2004', '2005', '2006']
left_v = ['100', '200', '300', '400', '500', '600']
root = tk.Tk()
root.geometry('500x500+300+200')
canvas = tk.Canvas(root, width=CANVAS_WIDTH, height=CANVAS_HEIGHT, bg='yellow')
canvas.pack()
start_x = int(CANVAS_WIDTH * 0.14)
start_y = int(CANVAS_HEIGHT * 0.9)
canvas.create_text(int(start_x * 0.8), int(start_y), text='0', font=('微软雅黑', 14, 'bold'))
down_b = []
left_b = []
# 算出每一格的长度
y = abs(start_y - int(start_y * 0.9