标签: label

从变量更新Tkinter标签

我写了一个Python脚本,它执行一些生成任务,然后不断更改存储为字符串变量的一些文本.这是有效的,我可以在每次更改时打印字符串.

我可以让Label第一次显示字符串,但它永远不会更新.

这是我的代码:

from tkinter import *

outputText = 'Ready'
counter = int(0)

root = Tk()
root.maxsize(400, 400)

var = StringVar()

l = Label(root, textvariable=var, anchor=NW, justify=LEFT, wraplength=398)
l.pack()

var.set(outputText)

while True:
    counter = counter + 1
    outputText = result
    outputText = result
    outputText = result
    if counter == 5:
        break

root.mainloop()
Run Code Online (Sandbox Code Playgroud)

标签将显示Ready,但不会更新以将其更改为字符串,因为它们稍后生成.

经过一番谷歌搜索和浏览本网站的答案,我认为解决方案可能是使用update_idletasks.每次更改变量后我都尝试将其放入,但它没有帮助.

python label tkinter

19
推荐指数
2
解决办法
12万
查看次数

外部标记节点,与networkx中的其他节点/边缘重叠最小

我正在尝试创建一个在节点外打印节点标签的图形.我能够生成如下所示的"偏移"来解决目的.但是,有时标签与边缘重叠(这是不合需要的,因为在节点周围有很多空白区域可以打印相应的标签).我需要以这样的方式标记这些节点,使得标签不与任何边缘重叠,或者至少尽可能地尽量减少重叠.

import networkx as nx
from networkx.utils import is_list_of_ints, flatten
import matplotlib.pyplot as plt

G=nx.Graph()

G = nx.complete_graph(5)
mapping = {0:'aaaaaaa',1:'bbbbbbb',2:'ccccccc', 3:'dddddddd', 4:'eeeeeeeee'}
G = nx.relabel_nodes(G,mapping)

plt.figure(figsize=(10,10), facecolor="w", frameon=False)
pos = nx.graphviz_layout(G, prog="fdp") #calculate position (x,y) coordinates
nx.draw_networkx_nodes(G,pos,node_size=1200,node_shape='o',node_color='0.75')
nx.draw_networkx_edges(G,pos, width=2,edge_color='b')


#for labeling outside the node
offset =10
pos_labels = {}
keys = pos.keys()
for key in keys:
    x, y = pos[key]
    pos_labels[key] = (x, y+offset)
nx.draw_networkx_labels(G,pos=pos_labels,fontsize=2)
plt.show()
Run Code Online (Sandbox Code Playgroud)

networkx中是否有任何可以处理这种情况的功能.我google了很长时间没有成功.

python label nodes networkx

19
推荐指数
1
解决办法
2725
查看次数

如何更改标签小部件python tkinter中的文本大小

在使用Tkinter的python 3.4中,如何更改标签小部件中的文本大小?

到目前为止我已经尝试过

label_one = Label(root, text = 'Hello', size = '50')
Run Code Online (Sandbox Code Playgroud)

label_one.config(fontsize='50')
Run Code Online (Sandbox Code Playgroud)

但我不知道从哪里开始,我找不到任何说法怎么做.

python label tkinter

19
推荐指数
1
解决办法
10万
查看次数

在Matplotlib中显示绘图之前获取空的刻度标签

我遇到了与此处报道的类似问题.我不明白为什么刻度标签文本是一个空字符串:

import numpy as np
import matplotlib.pyplot as plt

x = np.linspace(0,2*np.pi,100)
y = np.sin(x)**2

fig, ax = plt.subplots()
ax.plot(x,y)

labels = ax.get_xticklabels()
for label in labels:
    print(label)

plt.show()
Run Code Online (Sandbox Code Playgroud)

输出:

Text(0,0,'')
Text(0,0,'')
Text(0,0,'')
Text(0,0,'')
Text(0,0,'')
Text(0,0,'')
Text(0,0,'')
Text(0,0,'')
Run Code Online (Sandbox Code Playgroud)

我得到了相同的结果,ax.xaxis.get_ticklabels()但绘制的图表在保存或显示时在x轴上显示了八个标记的刻度.但是,如果我显示绘图要求标签,则labels列表已正确填充.当然,做一些关于改变它们的事情有点晚了.

fig, ax = plt.subplots()
ax.plot(x,y)
plt.show()

labels = ax.get_xticklabels()
for label in labels:
    print(label)
Run Code Online (Sandbox Code Playgroud)

输出:

Text(0,0,'0')
Text(1,0,'1')
Text(2,0,'2')
Text(3,0,'3')
Text(4,0,'4')
Text(5,0,'5')
Text(6,0,'6')
Text(7,0,'7')
Run Code Online (Sandbox Code Playgroud)

为什么会发生这种情况(Mac OS X Yosemite,Matplotlib 1.5.1)以及如何显示或保存我的情节之前 …

python label matplotlib python-3.x

19
推荐指数
1
解决办法
1万
查看次数

如何在matplotlib中旋转xticklabels以使每个xticklabel之间的间距相等?

如何在matplotlib中旋转xticklabels以使每个xticklabel之间的间距相等?

例如,使用此代码:

import matplotlib.pyplot as plt
import numpy as np

# Data + parameters
fontsize = 20
t = np.arange(0.0, 6.0, 1)
xticklabels = ['Full', 'token emb', 'char emb', 'char LSTM', 
               'token LSTM', 'feed forward','ANN']

# Plotting
fig = plt.figure(1)
ax = fig.add_subplot(111)
plt.plot(t, t)
plt.xticks(range(0, len(t) + 1))
ax.tick_params(axis='both', which='major', labelsize=fontsize)
ax.set_xticklabels(xticklabels, rotation = 45)
fig.savefig('test_rotation.png', dpi=300, format='png', bbox_inches='tight')
Run Code Online (Sandbox Code Playgroud)

我获得:

在此输入图像描述

每个xticklabel之间的间距是不相等的.例如,"Full"和"token emb"之间的间距远大于"前馈"和"ANN"之间的间距.

我在Windows 7 SP1 x64 Ultimate上使用Matplotlib 2.0.0和Python 3.5 64位.

python plot label matplotlib

19
推荐指数
2
解决办法
3万
查看次数

在f.label内嵌入输入(rails表单生成)

我想使用f.label方法来创建表单元素标签,但是 - 我希望将表单元素嵌套在标签内.这可能吗?

- 来自W3C -

要隐式地将标签与另一个控件相关联,控制元素必须位于LABEL元素的内容中.在这种情况下,LABEL可能只包含一个控制元素.标签本身可以位于相关控件之前或之后.

在此示例中,我们隐式地将两个标签与两个文本输入控件相关联:

<form action="..." method="post">
 <p>
  <label>
     First Name
     <input type="text" name="firstname" />
  </label>
  <label>
     <input type="text" name="lastname" />
     Last Name
  </label>
  </p>
</form>
Run Code Online (Sandbox Code Playgroud)

html forms label ruby-on-rails

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

在javascript中打破标签和没有标签之间有什么区别

var num = 0;
for(var i = 0; i < 10; i++){
  for(var j = 0; j < 10 ; j++){
    if(i == 5 && j == 5){
      break;
    }
    num++;
  }
}

console.log(num)
Run Code Online (Sandbox Code Playgroud)

在上面的代码中,我希望结果为55,但为什么结果为95.

但是为什么如果我添加标签,结果会变成55?

var num = 0;
outermost:
for(var i = 0; i < 10; i++){
  for(var j = 0; j < 10 ; j++){
    if(i == 5 && j == 5){
      break outermost;
    }
    num++;
  }
}

console.log(num);
Run Code Online (Sandbox Code Playgroud)

javascript label break

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

更改数字逐渐显示为svg文本,D3转换

我正在寻找一种简单的方法来逐步更改显示为带有d3的svg文本的数字的值.

var quality = [0.06, 14];
// qSVG is just the main svg element

qSVG.selectAll(".txt")
    .data(quality)
    .enter()
    .append("text")
    .attr("class", "txt")
    .text(0)
    .transition()
    .duration(1750)
        .text(function(d){
             return d;
        });
Run Code Online (Sandbox Code Playgroud)

由于这种情况下的文本是一个数字,我希望有一种简单的方法可以将它递增到转换的结尾.

也许有人有个主意.

干杯

label transition d3.js

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

为什么在将Label.Content绑定到非字符串而不是字符串时会应用隐式TextBlock样式?

我正在查看这个问题,并发现绑定Label.Content到非字符串值将应用隐式TextBlock样式,但是绑定到字符串则不会.

以下是重现问题的示例代码:

<Window.Resources>
    <Style TargetType="Label">
        <Setter Property="FontSize" Value="26"/>
        <Setter Property="Margin" Value="10"/>
        <Setter Property="VerticalAlignment" Value="Center"/>
    </Style>
    <Style TargetType="{x:Type TextBlock}">
        <Setter Property="FontSize" Value="26"/>
        <Setter Property="Margin" Value="10"/>
    </Style>
</Window.Resources>

<Grid>
    <StackPanel Orientation="Horizontal">
        <Label Content="{Binding SomeString}" Background="Red"/>
        <Label Content="{Binding SomeDecimal}" Background="Green"/>
    </StackPanel>
</Grid>
Run Code Online (Sandbox Code Playgroud)

绑定值的代码是

SomeDecimal = 50;
SomeString = SomeDecimal.ToString();
Run Code Online (Sandbox Code Playgroud)

最终结果如下所示,Margin隐式TextBlock样式的属性应用于仅绑定到非字符串的Label:

在此输入图像描述

两个标签都呈现为

<Label>
    <Border>
        <ContentPresenter>
            <TextBlock />
        </ContentPresenter>
    </Border>
</Label>
Run Code Online (Sandbox Code Playgroud)

当我使用Snoop检查VisualTree时,我可以看到它对于两个元素看起来完全相同,除了第二个TextBlock从隐式样式应用Margin,而第一个没有.

在此输入图像描述

我已经使用Blend来提取默认标签模板的副本,但是没有看到任何奇怪的东西,当我将模板应用于我的两个标签时,同样的事情发生了.

<Label.Template>
    <ControlTemplate TargetType="{x:Type Label}">
        <Border BorderBrush="{TemplateBinding BorderBrush}" 
                BorderThickness="{TemplateBinding BorderThickness}" 
                Background="{TemplateBinding Background}" 
                Padding="{TemplateBinding …
Run Code Online (Sandbox Code Playgroud)

wpf label styles implicit-style

18
推荐指数
1
解决办法
1738
查看次数

使用文本标记最小和最大刻度填充渐变图例:ggplot2

我在创建打印ggplot2使用scale_fill_gradientn.我想在缩放图例的最小值和最大值处添加文本.例如,在图例最小显示"最小"和图例最大显示"最大".有些帖子使用离散填充并添加带有数字而不是文本的标签(例如此处),但我不确定如何使用该labels功能scale_fill_gradientn仅在最小和最大时插入文本.目前我很容易出错:

Error in scale_labels.continuous(scale, breaks) : 
Breaks and labels are different lengths
Run Code Online (Sandbox Code Playgroud)

这种类型的缩放/填充是否可以在ggplot2中使用此文本标签?

# The example code here produces an plot for illustrative purposes only.
# create data frame, from ggplot2 documentation
df <- expand.grid(x = 0:5, y = 0:5) 
df$z <- runif(nrow(df))

#plot
ggplot(df, aes(x, y, fill = z)) + geom_raster() + 
scale_fill_gradientn(colours=topo.colors(7),na.value = "transparent")
Run Code Online (Sandbox Code Playgroud)

label r legend fill ggplot2

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