Должен ли я сделать HTML-якоря с именем или идентификатором?

Вы можете легко добавить вторую легенду, добавив строку:

ax2.legend(loc=0)

Вы получите следующее:

enter image description here [/g0]

Но если вы хотите, чтобы все метки на одной легенде, вы должны сделать что-то вроде этого:

import numpy as np
import matplotlib.pyplot as plt
from matplotlib import rc
rc('mathtext', default='regular')

time = np.arange(10)
temp = np.random.random(10)*30
Swdown = np.random.random(10)*100-10
Rn = np.random.random(10)*100-10

fig = plt.figure()
ax = fig.add_subplot(111)

lns1 = ax.plot(time, Swdown, '-', label = 'Swdown')
lns2 = ax.plot(time, Rn, '-', label = 'Rn')
ax2 = ax.twinx()
lns3 = ax2.plot(time, temp, '-r', label = 'temp')

# added these three lines
lns = lns1+lns2+lns3
labs = [l.get_label() for l in lns]
ax.legend(lns, labs, loc=0)

ax.grid()
ax.set_xlabel("Time (h)")
ax.set_ylabel(r"Radiation ($MJ\,m^{-2}\,d^{-1}$)")
ax2.set_ylabel(r"Temperature ($^\circ$C)")
ax2.set_ylim(0, 35)
ax.set_ylim(-20,100)
plt.show()

Что вам даст это:

enter image description here [/g1]

755
задан mikemaccana 2 August 2018 в 14:38
поделиться

8 ответов

Согласно спецификации HTML 5, 5.9.8 Переход к идентификатору фрагмента :

Для документов HTML (и типа MIME text / html) следующая обработка Модель должна следовать, чтобы определить, что указанная часть документа.

  1. Разобрать URL, и пусть fragid будет < фрагментом > компонент URL.
  2. Если fragid - пустая строка, указанная часть документа является верхней частью документа.
  3. Если в DOM есть элемент с идентификатором, точно равным fragid, то первым таким элементом в древовидном порядке является указанная часть документа; остановите алгоритм здесь.
  4. Если в DOM есть элемент a , у которого есть атрибут name, значение которого точно равно fragid, то первым таким элементом в древовидном порядке является указанная часть документа; остановите алгоритм здесь.
  5. В противном случае нет указанной части документа.

Итак, он будет искать id="foo", а затем будет следовать name="foo"

Редактировать: как указано @hsivonen в HTML5 элемент a не имеет атрибута name. Однако вышеприведенные правила все еще применяются к другим именованным элементам.

589
ответ дан Dan Rosenstark 2 August 2018 в 14:38
поделиться

Во втором примере присваивается уникальный идентификатор рассматриваемому элементу. Этот элемент может быть затем обработан или доступен с помощью DHTML.

Первый, с другой стороны, устанавливает именованное местоположение в документе, похожее на закладку. Прикрепленный к «якору», он имеет смысл.

1
ответ дан Cerebrus 2 August 2018 в 14:38
поделиться

Целое "именованное" понятие привязки использует атрибут имени по определению. Необходимо просто придерживаться использования имени, но идентификационный атрибут мог бы быть удобным для некоторых ситуаций JavaScript.

Как в комментариях, Вы могли всегда использовать обоих для хеджирования ставок.

-3
ответ дан GEOCHET 3 August 2018 в 00:38
поделиться

Нет никакого семантического различия; тенденция в стандартах находится к использованию id, а не name. Однако существуют различия, которые могут привести предпочитать name в некоторых случаях. Предложения спецификации HTML 4.01 следующие подсказки :

Использование id или name? Авторы должны рассмотреть следующие проблемы при решении, использовать ли id или name для имени привязки:

  • идентификационный атрибут может действовать как больше, чем просто имя привязки (например, селектор таблицы стилей, обрабатывая идентификатор, и т.д.).
  • Некоторые более старые агенты пользователя не поддерживают привязки, созданные с идентификационным атрибутом.
  • атрибут имени позволяет более богатые имена привязки (с объектами).
8
ответ дан erickson 3 August 2018 в 00:38
поделиться
  • 1
    вместо этого это может также быть использованием: (?i)^[a-z]+$, Здесь ?i делает его нечувствительным к регистру. – NeverHopeless 12 November 2012 в 23:59

Идентификационный метод не будет работать над более старыми браузерами, метод имени привязки будет удерживаться от использования в более новых версиях HTML... Я пошел бы с идентификатором.

9
ответ дан Joannes Vermorel 3 August 2018 в 00:38
поделиться
  • 1
    Положительная сторона. Замененный интервал с UInt64 – Paul Sasik 21 August 2010 в 03:47

Вы использование shouldn’t <h1><a name="foo"/>Foo Title</h1> в любой разновидности HTML служили text/html, потому что пустой синтаксис элемента XML isn’t поддерживаемый в text/html. Однако <h1><a name="foo">Foo Title</a></h1> в порядке в HTML4. Это не допустимо в HTML5, как в настоящее время проектировано.

<h1 id="foo">Foo Title</h1> в порядке и в HTML4 и в HTML5. Эта работа won’t в Netscape 4, но you’ll, вероятно, использует дюжину других функций, что don’t работают в Netscape 4.

176
ответ дан hsivonen 3 August 2018 в 00:38
поделиться
  • 1
    Вы действительно понимаете что он doesn' t на самом деле хотите число, правильно? Эти int.TryParse было просто его исходное предположение - it' s отвлекающий маневр. – Gabe 21 August 2010 в 05:52

Я должен сказать, собираетесь ли Вы быть соединением с той областью на странице..., такой как страница html#foo, и Заголовок Нечто не является ссылкой, которую необходимо использовать:

<h1 id="foo">Foo Title</h1>

, Если Вы вместо этого помещаете <a> ссылка вокруг этого, Ваш заголовок будет под влиянием <a> определенный CSS на Вашем сайте. Это - просто дополнительная разметка, и Вам не должен быть нужен он. Я настоятельно рекомендовал бы размещение идентификатора на заголовке, мало того, что это лучше формируется, но и это позволит Вам или обращаться к тому объекту в JavaScript или CSS.

51
ответ дан Zano 3 August 2018 в 00:38
поделиться
  • 1
    @Gabe: Я знаю, это doesn' t имеют смысл. Тем более, что вход замаскирован и проверен в UI. It' s глупый вопрос с главным образом глупыми ответами. Я думаю, что люди просто весело провели время с ним. Например, для решения для цикла собрал шесть голосов... Почему? Возврат фаната upvoting? Развлечения. Это - пятница. – Paul Sasik 21 August 2010 в 06:29
<h1 id="foo">Foo Title</h1>

. Не используйте якорь, если вам не нужна ссылка.

14
ответ дан 22 November 2019 в 21:26
поделиться
Другие вопросы по тегам:

Похожие вопросы: