相关疑难解决方法(0)

如何在matplotlib图上更改字体大小

如何在matplotlib图上更改所有元素(刻度,标签,标题)的字体大小?

我知道如何更改刻度标签尺寸,这是通过以下方式完成的:

import matplotlib 
matplotlib.rc('xtick', labelsize=20) 
matplotlib.rc('ytick', labelsize=20) 
Run Code Online (Sandbox Code Playgroud)

但是如何改变其余部分呢?

python matplotlib font-size

473
推荐指数
14
解决办法
75万
查看次数

如何在Matplotlib中设置图标题和轴标签字体大小?

我正在Matplotlib中创建一个像这样的人物:

from matplotlib import pyplot as plt

fig = plt.figure()
plt.plot(data)
fig.suptitle('test title')
plt.xlabel('xlabel')
plt.ylabel('ylabel')
fig.savefig('test.jpg')
Run Code Online (Sandbox Code Playgroud)

我想指定图标题和轴标签的字体大小.我需要三个不同的字体大小,所以设置全局字体大小(mpl.rcParams['font.size']=x)不是我想要的.如何单独设置图标题和轴标签的字体大小?

python matplotlib

466
推荐指数
7
解决办法
97万
查看次数

框架的Tkinter滚动条

我的目标是在一个框架中添加一个垂直滚动条,框架中有几个标签.一旦框架内的标签超过框架的高度,滚动条就会自动启用.经过搜索,我找到了这个有用的帖子.基于这一职位,我明白,为了达到我想要的,(纠正我,如果我错了,我是初学者),我要创建一个Frame第一,然后创建一个Canvas该框架内,坚持滚动条到帧好.之后,创建另一个框架并将其作为窗口对象放在画布中.所以,我终于想到了这个:

from Tkinter import *

def data():
    for i in range(50):
       Label(frame,text=i).grid(row=i,column=0)
       Label(frame,text="my text"+str(i)).grid(row=i,column=1)
       Label(frame,text="..........").grid(row=i,column=2)

def myfunction(event):
    canvas.configure(scrollregion=canvas.bbox("all"),width=200,height=200)

root=Tk()
sizex = 800
sizey = 600
posx  = 100
posy  = 100
root.wm_geometry("%dx%d+%d+%d" % (sizex, sizey, posx, posy))

myframe=Frame(root,relief=GROOVE,width=50,height=100,bd=1)
myframe.place(x=10,y=10)

canvas=Canvas(myframe)
frame=Frame(canvas)
myscrollbar=Scrollbar(myframe,orient="vertical",command=canvas.yview)
canvas.configure(yscrollcommand=myscrollbar.set)

myscrollbar.pack(side="right",fill="y")
canvas.pack(side="left")
canvas.create_window((0,0),window=frame,anchor='nw')
frame.bind("<Configure>",myfunction)
data()
root.mainloop()
Run Code Online (Sandbox Code Playgroud)
  1. 我做得对吗?是否有更好/更聪明的方法来实现此代码给我的输出?
  2. 为什么我必须使用网格方法?(我尝试了放置方法,但画布上没有任何标签.)
  3. anchor='nw'在画布上创建窗口时使用有什么特别之处?

因为我是初学者,请保持简单的答案.

python tkinter scrollbar frame

55
推荐指数
3
解决办法
10万
查看次数

Matplotlib subplots_adjust hspace所以标题和xlabels不重叠?

比方说,matplotlib xlabels中有3行子图,其中一行可以与下一行的标题重叠.一个人必须摆弄pl.subplots_adjust(hspace),这很烦人.

是否有一个配方hspace可以防止重叠并适用于任何nrow?

""" matplotlib xlabels overlap titles ? """
import sys
import numpy as np
import pylab as pl

nrow = 3
hspace = .4  # of plot height, titles and xlabels both fall within this ??
exec "\n".join( sys.argv[1:] )  # nrow= ...

y = np.arange(10)
pl.subplots_adjust( hspace=hspace )

for jrow in range( 1, nrow+1 ):
    pl.subplot( nrow, 1, jrow )
    pl.plot( y**jrow )
    pl.title( 5 * ("title %d " % jrow) ) …
Run Code Online (Sandbox Code Playgroud)

python matplotlib

45
推荐指数
3
解决办法
8万
查看次数

matplotlib中的精确图形大小,带有标题,轴标签

之前已经提出过类似的问题,但我的所有搜索结果都没有解决我的问题.请参考以下示例代码:

from matplotlib.pyplot import *
fig = figure(1, figsize=(3.25, 3))
plot([0,1,5,2,9])
title('title')
xlabel('xAxis')
ylabel('yAxis')
fig.savefig('test.png',dpi=600)
Run Code Online (Sandbox Code Playgroud)

得到的数字是2040x1890像素,或3.4"x3.15",并且x标签被切断.在图像编辑器中查看PNG文件,轴和刻度标签似乎符合所需的大小.我已经尝试从输出大小和请求的大小中取出差异并将其反馈到(3.25 - (3.4-3.25)= 3.10,但是matplotlib似乎添加了一个任意缓冲区并且它仍然没有达到所需的大小.如何制作出所需尺寸的整体数字?

python matplotlib

18
推荐指数
2
解决办法
4万
查看次数

matplotlib在tkinter画布中的缩放功能

我一直在试图传递一些脚本(使用Tkinter的)的GUI的背后,到目前为止迄今该所打开的任何数据在Tkinter的画布显示(使用matplotlib绘制吧)做到了.

我唯一的问题是matplotlib中的标准缩放/滚动(使用鼠标左键"移动"绘图和鼠标右键"缩放")在画布中无法访问,基本上是功能matplotlib绘图窗口中的'4尖十字'.

我认为这需要创建我自己的处理程序,但我认为必须有一种方法来使用matplotlib的默认处理程序?我也看过这个问题中提到的'滚动'画布选项,但那些似乎只是改变了绘图区域的大小而不是放大/缩小数据,我也不想再添加任何按钮来操纵情节区.

我目前最简单的代码:

#! /usr/bin/env python
from Tkinter import *
import matplotlib.pyplot as plt
import matplotlib.backends.backend_tkagg as tkagg
import tkFileDialog

class App():
    def __init__(self,master):
        # VARIABLES
        self.inputFile = ""
        self.fig = plt.Figure()
        self.canvas = tkagg.FigureCanvasTkAgg(self.fig, master = master)
        self.canvas.get_tk_widget().pack()
        self.canvas.draw()

        # FRAME
        frame = Frame(master)
        master.title("MassyTools 0.1.1 (Alpha)")

        # VARIABLE ENTRIES

        # BUTTONS

        # MENU
        menu = Menu(root)
        root.config(menu = menu)

        filemenu = Menu(menu)
        menu.add_cascade(label="File", menu=filemenu)
        filemenu.add_command(label="Open Input File", command = self.openFile)
        calibmenu = Menu(menu)
        menu.add_cascade(label="Calibrate",menu=calibmenu)
        calibmenu.add_command(label="Open …
Run Code Online (Sandbox Code Playgroud)

python tkinter matplotlib tkinter-canvas

6
推荐指数
1
解决办法
3165
查看次数